package com.yumis.service.modules.user.service.impl;

import com.yumis.service.common.enums.HttpState;
import com.yumis.service.common.exception.GlobalException;
import com.yumis.service.common.vo.Response;
import com.yumis.service.model.pojo.ShopVipCard;
import com.yumis.service.model.pojo.UserVipCard;
import com.yumis.service.modules.user.mapper.UserVipCardMapper;
import com.yumis.service.modules.user.service.UserVipCardService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;

import javax.annotation.Resource;

@Slf4j
@Service
public class UserVipCardServiceImpl implements UserVipCardService {
    @Resource
    private UserVipCardMapper userVipCardMapper;
    @Override
    public UserVipCard searchVipCardByVipCardId(Long vipCardId) {
        UserVipCard userVipCard=new UserVipCard();
        userVipCard.setVipCardId(vipCardId);
        UserVipCard userVipCard1=userVipCardMapper.selectOne(userVipCard);
        if (userVipCard1 ==null || userVipCard1.equals("")){
            throw new GlobalException(Response.buildResponse(HttpState.DATA_NOT_FOUNT));
        }
        return userVipCard1;
    }

    @Override
    public void userVipCard(UserVipCard userVipCard) {
        userVipCard.setCreateTime((int) (System.currentTimeMillis()/1000));
        userVipCard.setUpdateTime((int) (System.currentTimeMillis()/1000));
        int i=userVipCardMapper.insert(userVipCard);
        if (i!=1){
            throw new GlobalException(Response.buildResponse(HttpState.CREATED_FAILED));
        }
    }

    @Override
    public void deleteUserVipCardById(Long id) {
        int i=userVipCardMapper.deleteByPrimaryKey(id);
        if (i !=1){
            throw new GlobalException(Response.buildResponse(HttpState.DELETE_ERROR));
        }
    }

    @Override
    public UserVipCard queryUserVipCardById(Long id) {
        UserVipCard userVipCard=userVipCardMapper.selectByPrimaryKey(id);
        if (userVipCard ==null || userVipCard.equals("") ){
            throw new GlobalException(Response.buildResponse(HttpState.DATA_NOT_FOUNT));
        }
        return userVipCard;
    }

    @Override
    public void updateUserVipCard(UserVipCard userVipCard) {
        userVipCard.setUpdateTime((int) (System.currentTimeMillis()/1000));
        int i=userVipCardMapper.updateByPrimaryKeySelective(userVipCard);
        if (i !=1){
            throw new GlobalException(Response.buildResponse(HttpState.UPDATE_ERROR));
        }
    }
}
